#ifndef _LITTLEC_H
#define _LITTLEC_H

#include <memory>

class CLexer;
class CParser;
class CInterpreter;
class CCompilier
{
public:
  CCompilier();

public:
  void    ScanTokens(char* file);
  void    Parse();
  void    Run();

private:
  std::shared_ptr<CLexer>       m_Lexer;
  std::shared_ptr<CParser>      m_Parser;
  std::shared_ptr<CInterpreter> m_VM;
};

#endif  // _LITTLEC_H
